This invention relates generally to information systems and more particularly to a computing system having a scalable architecture for resolving queries.
A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright client has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. The following notice applies to the software and data as described below and in the drawing hereto: Copyright(copyright) 1998, Microsoft Corporation, All Rights Reserved.
The Internet is a worldwide collection of networks that span over 100 countries and connect millions of computers. In 1997 traffic on the Internet doubled every 100 days. At the end of 1997, more than 100 million people were using the Internet. Reports indicate that the Internet is growing faster than all preceding information technologies including radio and television. The World Wide Web (WWW) is one of the fastest growing facets of the Internet and represents the computers that support the hypertext transfer protocol (HTTP) which is a common protocol for exchanging information.
Because there is no central authority controlling the WWW, finding useful information within the WWW can be a daunting task. In an effort to ease this burden, specialized web sites, known as xe2x80x9cportalsxe2x80x9d, seek to provide a single access point for users. Many of these portals implement software, referred to as robots or crawlers, that traverse the WWW in order to collect information and generate a searchable catalog. Thus, a key element to these systems is a massive storage system that holds the voluminous catalog. In addition, recent portals allow each user to customize the information, thereby further burdening the storage system with personalization data for millions of users. For these reasons, and for other reasons stated below which will become apparent to those skilled in the art upon reading and understanding the present specification, there is a need in the art for a scalable storage system that is capable of efficiently and reliably handling millions of accesses per day.
In accordance with this invention, a system, method, and computer-readable medium for providing scalable storage systems, which supports multi-level query resolution. the system form of the invention comprises a stored system that includes multiple storage servers. Each storage server stores data elements from multiple clients without using a database. The data elements stored in one storage server are replicated in other storage servers. The storage system further includes one or more database servers for receiving attributes of the data elements and further for resolving requests to access the data elements stored in the multiple storage server as a function of the attributes.
In accordance with further aspects of this invention, the method form of the invention includes a computing method that includes storing data elements with multiple storage servers without using a database. The data elements stored in one storage server are replicated in other storage servers. The computing method further includes directing access requests to the multiple storage servers when the requests specify a particular data element for retrieval and directing the access requests to multiple database servers when the requests require searching for data elements according to attributes of the data elements.
In accordance with further aspects of this invention, another system form of the invention comprises multiple Web servers receiving client requests to store data elements. The system further includes multiple storage clusters that store the data elements received from the clients without using a database. Each cluster comprises multiple storage servers. The data elements stored in one storage server are replicated in other storage servers. The system also includes multiple database clusters for receiving attributes of the data elements and further for resolving requests to access the data elements in the multiple storage servers as a function of the attributes.